package sg.edu.nus.iss.cerberus.util;

/*
 * Author : Priyanka & Lin
 * Inspiration : More Unit 
 */
public class CerberusConstants
{

	public static final String WINDOW_TITLE = "Cerberus";
	public static final String WIZARD_EDITOR_TITLE = "Cerberus Test Case Editor";
    public static final String WIZARD_TITLE_TEXT = "Cerberus Test Case";
    public static final String WIZ_PAGE_ONE_DESCRIPTION ="Select the name of the new Cerberus unit test case. You have the options to specify"+
    													 "\n" + "the class under test and on the next page, to select methods to be tested.";
	public static final String TEST_JUNIT3_METHOD_PRAEFIX = "test";
    public static final String SUFFIX_NAME = "Suffix";

    public static final String JAVA_FILE_EXTENSION = ".java";

    public static final String TEST_ANNOTATION_NAME = "Test";
    public static final String GETTER_PREFIX = "get";
    public static final String SETTER_PREFIX = "set";

    public static final String TESTNG_ANNOTATION_NAME = "Test";
    
    public static final String TEST_FOLDER_NAME= "test";
    
    public static final String JUNIT_PLUGIN_NAME = "org.eclipse.jdt.junit.JUNIT_CONTAINER";
    public static final String JUNIT_PATH = "org.eclipse.jdt.junit.JUNIT_CONTAINER/4";
    
    public static final String TESTENGINESTORE_FILE_PATH = "D:/"; 
    
    public final static String PAGE_NAME = "Cerberus NewTestCaseCreationWizardPage"; //$NON-NLS-1$

    /** Field ID of the class under test field. */
    public final static String CLASS_UNDER_TEST = PAGE_NAME + ".classundertest"; //$NON-NLS-1$
    
    public static final String UNIMPL_MSG = "Please click on the .java file to generate unit test case";
    public static final String UNIMPL_MSG_FOR_NEW_TEST_WIZARD = "Please right click on the .java Test File to generate unit test case";
    public static final String COMBO_BLANK ="Please select the Method Name from Combo Box";
    /**
     * Field ID of the Junit4 toggle
     * 
     * @since 3.2
     */
    public final static String JUNIT4TOGGLE = PAGE_NAME + ".junit4toggle"; //$NON-NLS-1$

    public static final String COMPLIANCE_PAGE_ID = "org.eclipse.jdt.ui.propertyPages.CompliancePreferencePage"; //$NON-NLS-1$
    public static final String BUILD_PATH_PAGE_ID = "org.eclipse.jdt.ui.propertyPages.BuildPathsPropertyPage"; //$NON-NLS-1$
    public static final Object BUILD_PATH_KEY_ADD_ENTRY = "add_classpath_entry"; //$NON-NLS-1$
    public static final Object BUILD_PATH_BLOCK = "block_until_buildpath_applied"; //$NON-NLS-1$

    public static final String KEY_NO_LINK = "PropertyAndPreferencePage.nolink"; //$NON-NLS-1$

    public final static String QUESTION_MARK_TAG = "Q"; //$NON-NLS-1$
    public final static String OF_TAG = "Of"; //$NON-NLS-1$

    public final static String TEST_SUFFIX = "Test"; //$NON-NLS-1$
    public final static String PREFIX = "test"; //$NON-NLS-1$

    public final static String STORE_SETUP = PAGE_NAME + ".USE_SETUP"; //$NON-NLS-1$
    public final static String STORE_TEARDOWN = PAGE_NAME + ".USE_TEARDOWN"; //$NON-NLS-1$
    public final static String STORE_SETUP_CLASS = PAGE_NAME + ".USE_SETUPCLASS"; //$NON-NLS-1$
    public final static String STORE_TEARDOWN_CLASS = PAGE_NAME + ".USE_TEARDOWNCLASS"; //$NON-NLS-1$
    public final static String STORE_CONSTRUCTOR = PAGE_NAME + ".USE_CONSTRUCTOR"; //$NON-NLS-1$
    
    /* Lin - storing previous assert buttons checked */
    public final static String STORE_ASSERTEQUALS = PAGE_NAME + ".USE_ASSERTEQUALS";
    public final static String STORE_ASSERTTRUE = PAGE_NAME + ".USE_ASSERTTRUE";
    public final static String STORE_ASSERTFALSE = PAGE_NAME + ".USE_ASSERTFALSE";
    public final static String STORE_ASSERTNOTNULL = PAGE_NAME + ".USE_ASSERTNOTNULL";
    	
    public final static int IDX_SETUP_CLASS = 0;
    public final static int IDX_TEARDOWN_CLASS = 1;
    public final static int IDX_SETUP = 2;
    public final static int IDX_TEARDOWN = 3;
  //  public final static int IDX_CONSTRUCTOR = 4;
    
   /*The below set should be removed after the creating the wizard page 3 by dhruv*/
    public final static int IDX_ASSERTEQUALS = 0;
    public final static int IDX_ASSERTTRUE = 0;
    public final static int IDX_ASSERTFALSE = 0;
    public final static int IDX_ASSERTNOTNULL = 0;

    
    public static final String ASSERTEQUALS ="assertEquals()";
    public static final String ASSERTTRUE ="assertTrue()";
    public static final String ASSERTFALSE ="assertFalse()";
    public static final String ASSERTNOTNULL ="assertNotNull()";
    
    public static final String ACCESS_MODIFIER_PUBLIC = "public";
    
    public static final String[] assertList = {ASSERTEQUALS, ASSERTTRUE,ASSERTFALSE,
    	ASSERTNOTNULL};

    public static final String SETUP ="setUp()";
    public static final String TEARDOWN ="tearDown()";
    public static final String SETUP_CLASS ="setUpBeforeClass()";
    public static final String TEARDOWN_CLASS ="tearDownAfterClass()";

    public static final String DOT =".";
    public static final String TEST_CLASS_EXTENSION =".java";
    
    public enum PremitiveTypes{
    	byteType{
    		public String toString(){
    			return byte.class.getSimpleName();
    		}
    	},
    	shortType{
    		public String toString(){
    			return short.class.getSimpleName();
    		}
    	},
		intType{
			public String toString() {
		        return int.class.getSimpleName();
		    }
		},
		doubleType{
			public String toString(){
				return double.class.getSimpleName();
			}
		},
		longType{
			public String toString(){
				return long.class.getSimpleName();
			}
		},
		floatType{
			public String toString(){
				return float.class.getSimpleName();
			}
		},
		charType{
			public String toString(){
				return char.class.getSimpleName();
			}
		},
		stringType{
			public String toString(){
				return String.class.getSimpleName();
			}
		},
		booleanType{
			public String toString(){
				return boolean.class.getSimpleName();
			}
		}
	}
    
    public enum WrapperTypes{
    	byteType{
    		public String toString(){
    			return Byte.class.getSimpleName();
    		}
    	},
    	shortType{
    		public String toString(){
    			return Short.class.getSimpleName();
    		}
    	},
    	integerType{
			public String toString() {
		        return Integer.class.getSimpleName();
		    }
		},
		doubleType{
			public String toString(){
				return Double.class.getSimpleName();
			}
		},
		longType{
			public String toString(){
				return Long.class.getSimpleName();
			}
		},
		floatType{
			public String toString(){
				return Float.class.getSimpleName();
			}
		},
		charType{
			public String toString(){
				return Character.class.getSimpleName();
			}
		},
		stringType{
			public String toString(){
				return String.class.getSimpleName();
			}
		},
		booleanType{
			public String toString(){
				return Boolean.class.getSimpleName();
			}
		}
    }
}


